課程資訊
課程名稱
資料庫系統-從SQL到NoSQL
Database Management System – from SQL to NoSQL 
開課學期
109-2 
授課對象
電機資訊學院  電機工程學研究所  
授課教師
駱明凌 
課號
EE5178 
課程識別碼
921 U2560 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期二7,8,9(14:20~17:20) 
上課地點
電二145 
備註
總人數上限:50人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1092EE5178_ 
課程簡介影片
 
核心能力關聯
本課程尚未建立核心能力關連
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

Database processing and database management systems (DBMS) have been a corner stone of modern society. In science, engineering, business and enterprise alike, data play a central role in their progress. With recent developments in the fields of big data, machine learning, social networks, cloud computing and Internet of Things, to name a few, increases in data volume and manifestations of new data patterns have made the study of databases both more interesting and more challenging. In this course, we cover the theory and practice of database management systems. We discuss the modeling, programming, management, architecture and implementation aspects of DBMS, study the evolution from well-established relational SQL databases to the new NoSQL databases, and cover the newest trends in database research brought about by the challenges of the big data analytics. 

課程目標
1. Acquire basic knowledge and concepts about databases and database management systems (DBMS)
2. Obtain basic capabilities of programming for databases, and basic capabilities of operating a DBMS
3. Learn the design thinking and rationales behind various database technologies -- hope one day to use these design reasoning skills in real-life designs
4. Learn the design thinking and rationales for large (often distributed) software systems 
課程要求
Understanding of programming languages, capability to use a programming language (at least one of C/C++, Java, Python. Already knowing Python is a plus.)
Understanding of basic data structures (Lists, trees, hash tables, etc.)
Familiarity in the use of computer (PC)
Ability to search for and utilize resources online 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
待補 
參考書目
Fundamentals of Database Systems (7th Edition)
by Ramez Elmasri (Author),‎ Shamkant B. Navathe (Author)
Database Management Systems, 3rd Edition
by Raghu Ramakrishnan (Author),‎ Johannes Gehrke (Author) 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
Class Participation 
5% 
課堂參與 
2. 
Final project 
25% 
期末專題研究及報告 
3. 
Examination 
20% 
考試 
4. 
Homework 
50% 
作業 
 
課程進度
週次
日期
單元主題
第1週
02/23  Introduction 
第2週
03/02  Conceptual modeling - the entity-relationship model 
第3週
03/09  The relational database model - concepts and constraints 
第4週
03/16  Basic SQL;
The concept of transactions 
第5週
03/23  Relational algebra;
Advanced SQL 
第6週
03/30  RDB design;
Functional dependencies and DB normalization 
第7週
04/06  Spring break 
第8週
04/13  Semi-structured data; Document databases
Discussions on final project 
第9週
04/20  Database interface to programming languages;
Server-side programming; Window functions; 
第10週
04/27  Physical database design - storage, indexing, transaction processing and concurrency control techniques 
第11週
05/04  Query processing and optimization concepts 
第12週
05/11  Big data technologies, data warehouses and data lakes 
第13週
05/18  NoSQL Databases - Concepts and Data Models 
第14週
05/25  NoSQL Databases - Query Languages - DocumentDB 
第15週
06/01  NoSQL Databases - Query Languages - GraphDB 
第16週
06/08  NoSQL Databases - Architecture 
第17週
  Final project presentation I 
第18週
  Final project presentation II